using System;
using System.Collections.Generic;
using MvvmCodeReduction.Model;

namespace MvvmCodeReduction.View.MVP
{
    public interface ICustomersViewMVP
    {
        string CancelText { get; set; }
        IEnumerable<Customer> Customers { get; set; }
        event EventHandler<CustomerEventArgs> OnEdit;
        event EventHandler<CustomerEventArgs> OnCancel;
        event EventHandler<CustomerEventArgs> OnSave;
        bool ShowControl(string controlName, int customerID);
        bool HideControl(string controlName, int customerID);
        bool EnableControl(string controlName, int customerID);
        bool DisableControl(string controlName, int customerID);
        bool SetTextBoxText(string controlName, int customerID, string text);
        bool SetTextBlockText(string controlName, int customerID, string text);
        bool SetControlContent(string controlName, int customerID,
                               object content);

        bool GetTextBoxText(string controlName, int customerID,
                               out string text);
        void Alert(string message);
    }
}